package com.sy.action;

import java.util.List;

import com.opensymphony.xwork2.ActionSupport;
import com.sy.dao.AdminDao;
import com.sy.dao.NewsDao;
import com.sy.dao.impl.AdminDaoImpl;
import com.sy.dao.impl.NewsDaoImpl;
import com.sy.dao.impl.PageCount;
import com.sy.vo.Admin;
import com.sy.vo.News;

public class ListAction extends ActionSupport {

	private static final long serialVersionUID = 1L;

	int i=1;//中间变量
	private int k;//储存最大页面数
	private int pageNow=1; //页码数,初始为1
	private int pageSize = 8 ; //页面行数 
	private int intRowCount;//总行数
	private int intPageCount;//总页数
	private Admin admin;
	private List<Admin> Adminss;
	private News news;
	@SuppressWarnings("unchecked")
	private List<News> Newss;
	
	private int id;
	private int aid;

	public News getNews() {
		return news;
	}

	public void setNews(News news) {
		this.news = news;
	}

	@SuppressWarnings("unchecked")
	public List<News> getNewss() {
		return Newss;
	}
	public void setNewss(List<News> newss) {
		Newss = newss;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
	public Admin getAdmin() {
		return admin;
	}

	public void setAdmin(Admin admin) {
		this.admin = admin;
	}

	public List<Admin> getAdminss() {
		return Adminss;
	}

	public void setAdminss(List<Admin> adminss) {
		Adminss = adminss;
	}
	public int getAid() {
		return aid;
	}

	public void setAid(int aid) {
		this.aid = aid;
	}

	public int getPageNow() {
		return pageNow;
	}

	public void setPageNow(int pageNow) {
		this.pageNow = pageNow;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getIntRowCount() {
		return intRowCount;
	}

	public void setIntRowCount(int intRowCount) {
		this.intRowCount = intRowCount;
	}

	public int getIntPageCount() {
		return intPageCount;
	}

	public void setIntPageCount(int intPageCount) {
		this.intPageCount = intPageCount;
	}
	public int getK() {
		return k;
	}

	public void setK(int k) {
		this.k = k;
	}
	@SuppressWarnings("unchecked")
	@Override
//显示新闻列表
	public String execute() throws Exception {

		PageCount pc=new PageCount();
		String tableName="struts2new";
		intRowCount=pc.count(tableName);
		k=(intRowCount + pageSize - 1) / pageSize;
		intPageCount = (intRowCount + pageSize - 1) / pageSize;//计算出总页数
		if(pageNow<1){
			pageNow=1;
		}
		
		if(pageNow > intPageCount)
			 pageNow=intPageCount;
			 i = (pageNow -1)*pageSize;
		NewsDao nlist=new NewsDaoImpl();
		if(null!=nlist.queryByPage(i,pageSize)){
		Newss = nlist.queryByPage(i,pageSize);
			return SUCCESS;
		}else{
			return "failure";
		}
	}
//显示详细新闻
	public String show() throws Exception {

		NewsDao nshow=new NewsDaoImpl();
		if(null!=nshow.getNews(id)){
		news=nshow.getNews(id);
		return SUCCESS;
		}else{
			return "failure";
		}
	}
//删除新闻
	public String delete() throws Exception{
		NewsDao ndelete=new NewsDaoImpl();
		ndelete.delete(id);
		return SUCCESS;
	}
//编辑新闻
	public String edit() throws Exception {
		NewsDao nedit=new NewsDaoImpl();
		if(null!=nedit.getNews(id)){
			news=nedit.getNews(id);
			return SUCCESS;
		}else{
			return "failure";
		}
	}
//显示管理员列表
	public String adminList() throws Exception {
		AdminDao alist=new AdminDaoImpl();
		if(null!=alist.getAdmin()){
		Adminss = alist.getAdmin();
			return SUCCESS;
		}else{
			return "failure";
		}
	}
//删除管理员
	public String admindelete() throws Exception{
		AdminDao adelete=new AdminDaoImpl();
		adelete.delete(aid);
		return SUCCESS;
	}
}